package com.core.zyyz.amc.modules.service.impl;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

import com.core.common.utils.uuid.UUID;
import com.core.zyyz.amc.modules.domain.AmcCodeManage;
import com.core.zyyz.constants.FunctionCode;
import com.core.zyyz.util.CodeMakerUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.core.zyyz.amc.modules.mapper.AmcCusContactDMapper;
import com.core.zyyz.amc.modules.domain.AmcCusContactD;
import com.core.zyyz.amc.modules.service.AmcCusContactDService;

/**
 * 客户联系人Service业务层处理
 *
 * @author lfs
 * @date 2024-12-03
 */
@Service
public class AmcCusContactDServiceImpl implements AmcCusContactDService
{
    @Autowired
    private AmcCusContactDMapper amcCusContactDMapper;

    /**
     * 查询客户联系人
     *
     * @param contactId 客户联系人主键
     * @return 客户联系人
     */
    @Override
    public AmcCusContactD selectAmcCusContactDByContactId(String contactId)
    {
        return amcCusContactDMapper.selectAmcCusContactDByContactId(contactId);
    }

    /**
     * 查询客户联系人列表
     *
     * @param amcCusContactD 客户联系人
     * @return 客户联系人
     */
    @Override
    public List<AmcCusContactD> selectAmcCusContactDList(AmcCusContactD amcCusContactD)
    {
        return amcCusContactDMapper.selectAmcCusContactDList(amcCusContactD);
    }

    /**
     * 新增客户联系人
     *
     * @param amcCusContactD 客户联系人
     * @return 结果
     */
    @Override
    public int insertAmcCusContactD(AmcCusContactD amcCusContactD) {
        amcCusContactD.setContactId(UUID.randomUUID().toString());
        CodeMakerUtil cm = new CodeMakerUtil();
        SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
        amcCusContactD.setContactNumber(cm.createCode("COT", df.format(new Date()),3));//生成银行联系人编号
        //保存方法与之前对比 保存基本信息之后少了一个saveTabDetail方法
//        publicUtil.saveTabDetail(paramMap,amcCusContactD.getContactNumber());
        return amcCusContactDMapper.insertAmcCusContactD(amcCusContactD);
    }

    /**
     * 修改客户联系人
     *
     * @param amcCusContactD 客户联系人
     * @return 结果
     */
    @Override
    public int updateAmcCusContactD(AmcCusContactD amcCusContactD)
    {
        return amcCusContactDMapper.updateAmcCusContactD(amcCusContactD);
    }

    /**
     * 批量删除客户联系人
     *
     * @param contactIds 需要删除的客户联系人主键
     * @return 结果
     */
    @Override
    public int deleteAmcCusContactDByContactIds(String[] contactIds)
    {
        return amcCusContactDMapper.deleteAmcCusContactDByContactIds(contactIds);
    }

    /**
     * 删除客户联系人信息
     *
     * @param contactId 客户联系人主键
     * @return 结果
     */
    @Override
    public int deleteAmcCusContactDByContactId(String contactId)
    {
        return amcCusContactDMapper.deleteAmcCusContactDByContactId(contactId);
    }
}
